-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[app] Remove external_clusters flag #37817
[app] Remove external_clusters flag #37817
Conversation
8fcd2c1
to
a5422f7
Compare
PR #37817: Size comparison from 50aa1d3 to a5422f7 Full report (60 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, linux, nxp, psoc6, qpg, stm32, tizen)
|
" (hint: add to src/app/zap_cluster_list.json)" % (side, cluster)) | ||
|
||
cluster_sources.update(source_map[cluster]) | ||
if cluster in source_map: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we seem to lose an exception here and silently ignore a cluster that is not in a source map.
Silently skipping things will be hard to debug.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we need a warning at a minimum or a flag that makes it "these are known non-sdk clusters, skip" (which I imagine is what the old flag was supposed to do)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @andy31415 . In my opinion the exception is redundant:
- if vendor/end user adds a custom cluster, they must modify the .json file, even if they source custom cluster separately (for example they don't want to put the implementation in
"${_app_root}/clusters/${cluster}/${cluster}.cpp"
) - if new common cluster is created, but not added to
zap_cluster_list.json
, build will fail as files are not sourced. I aggree that it would be worth adding a note, but I'm not sure if Build GN can parse python's stderr output inexec_script
?
Alternatively I could convert the external_clusters flag from list to just boolean flag, so that it should be only set if we use external clusters, but without a burden of listing all of them every time?
`external_clusters` flag is redundant as if an external cluster is created without correct implementation, build will fail anyway. Without the flag, clusters not provided in `zap_cluster_list.json` can be skipped without requiring to always provide full list of custom clusters. Signed-off-by: Maciej Baczmanski <maciej.baczmanski@nordicsemi.no>
a5422f7
to
cc09a20
Compare
PR #37817: Size comparison from b205837 to cc09a20 Full report (74 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
|
Just found that |
external_clusters
flag is redundant as if an external cluster is created without correct implementation, build will fail anyway. Without the flag, clusters not provided inzap_cluster_list.json
can be skipped without requiring to always provide full list of custom clusters.Testing
tested on nrfconnect build with custom cluster added